// Enumerate all debug symbols

#pragma once

// ----------------------------------------------------------------------------

#include "DSymLoadDbgHelp.h"
#include "DSymLoadSettings.h"

// ----------------------------------------------------------------------------

namespace DSymLoad
{

// ----------------------------------------------------------------------------

interface IEnumSymbols
{
    virtual void Callback(__in PSYMBOL_INFO pSymInfo, __in ULONG SymbolSize) = 0;
};

// ----------------------------------------------------------------------------

void EnumAllSymbols(
    __in const CSettings &Settings,
    __in PCSTR szFileName,
    IEnumSymbols &EnumSymbols
);

// ----------------------------------------------------------------------------

}   // namespace DSymLoad

// ----------------------------------------------------------------------------
